package chapter04.Demo3;

/**
 * 抽象类
 * 1.抽象类可以直接继承抽象类（抽象类无法实例化为对象）
 * 2.类继承抽象类
 */
abstract class Flower{
    String color;// 颜色
    int petal_number;
    String florescence;// 花期
    abstract  void setColor(String color);// 抽象
    abstract void setPetalNumber(int num);
    void setFlorescence(String floresence){
        this.florescence = floresence;// 不是抽象方法 可以写具体实现
    }
}
abstract class Poney extends Flower{}// 在这里牡丹是抽象类 无法实例化
class PlumBlossom extends Flower{ //梅花 继承抽象的花朵类
    void setColor(String color){
        if (color.equals("")){
            this.color = "粉白色";
        }else{
            this.color = color;
        }
    }
    void setPetalNumber(int num){
        this.petal_number = num;
    }
}
public class Demo3 {
    public static void main (String[] args){
        // Poney p = new Poney() ; 错误 抽象类
        PlumBlossom plumBlossom = new PlumBlossom();
        plumBlossom.setPetalNumber(5);// 梅花有5个花瓣
    }
}